import com.sun.org.apache.regexp.internal.RE;

import java.util.HashMap;
import java.util.Scanner;

/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2023/4/8 9:48
 * 最难的问题  方法一：hashMap查表 方法二：计算
 * 因子个数  循环判断
 */
public class Day30 {
    //----------------------------------------------第二题
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int num = scanner.nextInt();
            System.out.println(solution(num));
        }
    }

    private static int solution(int num) {
        int count= 0;
        for (int i = 2; i < Math.sqrt(num); i++) {
            if (num%i == 0){
                while (num%i==0){
                    num =   num/i;
                }
                count++;
            }
        }
        if (num!=1){
            count++;
        }
        return count;

    }


    //----------------------------------------------第一题
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String str = scanner.nextLine();
            System.out.println(solution2(str));
        }
    }
    //------------------------法二 计算
    public static String solution2(String str){
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z'){
                ch = (char) ((str.charAt(i)  + 21 -'A')%26 + 'A');
            }
            sb.append(ch);
        }
        return String.valueOf(sb);
    }
    //------------------------法一 查表
    public static String solution1(String str){
        HashMap map = getMapper();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            sb.append(map.get(str.charAt(i)));
        }
        return String.valueOf(sb);
    }
    public static HashMap<Character,Character> getMapper (){
        HashMap<Character,Character> map = new HashMap<>();
        map.put('A','V');
        map.put('B','W');
        map.put('C','X');
        map.put('D','Y');
        map.put('E','Z');
        map.put('F','A');
        map.put('G','B');
        map.put('H','C');
        map.put('I','D');
        map.put('J','E');
        map.put('K','F');
        map.put('L','G');
        map.put('M','H');
        map.put('N','I');
        map.put('O','J');
        map.put('P','K');
        map.put('Q','L');
        map.put('R','M');
        map.put('S','N');
        map.put('T','O');
        map.put('U','P');
        map.put('V','Q');
        map.put('W','R');
        map.put('X','S');
        map.put('Y','T');
        map.put('Z','U');
        map.put(' ',' ');
        return  map;

    }
}
